package com.zmn.oms.model.dto.work.modify;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * @ClassName ArtificialPromQueryDTO
 * @description:
 * @author: wangyanci
 * @create: 2022-04-22 20:20
 * @Version 1.0
 **/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ArtificialPromQueryDTO {

    private Long orderId;

    private Long workId;

    @NotNull(message = "渠道ID不能为空")
    @ApiModelProperty("渠道ID")
    private Integer channelId;

    @NotNull(message = "城市ID不能为空")
    @ApiModelProperty("城市ID")
    private Integer cityId;

    @NotNull(message = "产品ID不能为空")
    @ApiModelProperty("产品ID-前台产品")
    private Integer productId;

    @NotNull(message = "平台ID不能为空")
    @ApiModelProperty("平台ID")
    private Integer plat;

    @NotNull(message = "业务类型不能为空")
    @ApiModelProperty("业务类型：1保外业务（C） 2保内业务（F） 3工程业务（B）")
    private Integer bizType;

    @NotNull(message = "订单是否延保不能为空")
    @ApiModelProperty("订单是否延保（1：不是延保订单 2：是延保订单）")
    private Integer orderExtendedWarranty;

    /**
     * 配件使用标志 1 未用配件，2 使用配件
     */
    private Integer partUse;

    // 以下参数用于过滤折扣
    @ApiModelProperty("订单原价（单位：分）")
    @Min(value = 1, message = "订单金额必须为正整数")
    private Integer originalAmount;

    @ApiModelProperty("已使用优惠金额（单位：分）")
    @Min(value = 0, message = "订单金额必须为大于0的整数")
    private Integer usedDiscountAmount;

}